A Merit Factor Driven Approach to the Modularization of Object-Oriented Systems
نویسندگان
چکیده
Modularization has many designations in the object-oriented world although it usually corresponds to system partitioning in groups (clusters) of classes. The problem is that this partitioning can be accomplished in many different ways, with two degrees of freedom: the number of clusters and the way to group classes to build them. We use Cluster Analysis to derive the optimal grouping for a fixed number of clusters. To find the optimal number of clusters we propose a decision criterion based on the definition of a modularization merit factor. We use this theoretical framework in the MOTTO tool and apply it to a reasonably large sample of software systems. The most important results are that (i) the proposed approach is feasible and easy to apply with appropriate tool support and that (ii) analyzed systems are far from fully exploiting the benefits of modularization. RÉSUMÉ: La modularisation peut avoir plusieurs sens dans le monde de l’orienté objet, même si elle correspond habituellement une division d’un système en groupes de classes. Le problème est que cette division peut être accomplie de différentes manières enjouant sur le nombre de groupes et la façon de regrouper les classes. Nous utilisons une méthode de regroupement automatique pour déterminer le regroupement optimal pour un nombre fixe de groupes. Pour trouver le nombre optimal de groupes, nous proposons un critère de décision basé sur la définition d'un facteur de mérite de la modularisation. Nous utilisons ce cadre théorique dans l'outil de MOTTO et nous l'appliquons à un échantillon raisonnablement grand de systèmes logiciels. Les résultats les plus importants sont que (i) l'approche proposée est faisable et est facile à appliquer avec le support d'un outil approprié et que (ii) les systèmes analysés sont loin d'exploiter pleinement les avantages de la modularisation
منابع مشابه
Objects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques
Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...
متن کاملساختار دهی آنی دادههای مکانی ورودی GIS با تأکید بر عارضه راه
An important issue in implementation of a GIS system is preparation of data to be entered in GIS. To produce spatial data for GIS using photogrammetric techniques, conventional method is to apply photogrammetric and GIS systems individually (off-line procedure). This approach is costly, time consuming and somehow unreliable due to the fact that 3D photogrammetric model is not available at the ...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملTowards a Unified Approach to Modular Ontology Development Using the Aspect-Oriented Paradigm
In this paper, we describe our ongoing work on the application of the Aspect-Oriented Programming paradigm to the problem of ontology modularization driven by overlapping modularization requirements. We examine commonalities between ontology modules and software aspects and propose an approach to applying the latter to the problem of a priori construction of modular ontologies and a posteriori ...
متن کاملVisual Support for the Modularization of Object-oriented Systems
We introduce a visual approach for nding a good modularization of object-oriented systems. We regard modularization as system partitioning where each class belongs to exactly one module. A good modulariza-tion requires that class dependencies are as local to a module as possible which mirrors the well-known quality principles of strong module cohesion and weak module coupling. In our approach, ...
متن کامل